package Game;

import java.awt.Rectangle;


/**
 * Clase abstracta Objeto
 */

public abstract class Objeto {
	protected int posX,posY;
	protected RepresentacionGrafica rg;
	protected Transitable ubicacion;
	protected Tablero tablero;
	
	/**
	 * Constructor de la clase Objeto
	 */
	public Objeto() {
	}
	
	/**
	 * Retorna el piso en el cual esta ubicado el objeto
	 * @return ubicacion del objeto
	 */
	public Piso getUbicacion (){
		return ubicacion;
	}
	
	/**
	 * Setea en ubicacion el objeto transitable t
	 * @param t objeto transitable
	 */
	public void setUbicacion (Transitable t){
		ubicacion=t;
	}
	
	/**
	 * Setea la ubicacion en cordenada x del objeto
	 * @param x cordenada a setear
	 */
	public void setX(int x){
		posX=x;
	}
	
	/**
	 * Setea la ubicacion en cordenada y del objeto
	 * @param y cordenada a setear
	 */
	public void setY(int y){
		posY=y;
	}
	
	/**
	 * Retorna el rectangulo con el que se busca una colision
	 * @return Rectangle 
	 */
	public Rectangle getBounds() {
		return new Rectangle(posX,posY, 50, 50);
	}
	
	/**
	 * Setea la representacion grafica recibida como arguemento y sus respectivas cordenadas x e y
	 * @param r 
	 */
    public void setRepresentacionG(RepresentacionGrafica r){
            this.rg=r;
            posX=(int) r.getLocation().getX();
            posY=(int) r.getLocation().getY();
            
    }
	
    /**
	 *Obtiene la representacion grafica
	 * @return Rg
	 */
	public RepresentacionGrafica getRG(){
		return rg;
	}
	

	/**
	 *Obtiene la ubicacion de la cordenada x
	 * @return posX
	 */

	public int getX(){
		return posX;
	}
	/**
	 *Obtiene la ubicacion de la cordenada y
	 * @return posY
	 */
	public int getY(){
		return posY;
		
	}
	
	public void setTablero(Tablero t){
		tablero =t;
	}


}
